import { reqGetSearchListInfo } from '@/api'
//search模块的小仓库
const state = {
    searchList: {},
};
const mutations = {
    GETSEARCHLISTINFO(state, searchList) {
        state.searchList = searchList
    }
};
const actions = {
    async getSearchListInfo({ commit }, params = {}) {
        //当前这个reqGetSearchListInfo函数在调用获取服务器数据的时候，至少传递一个空对象
        //params参数，是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
        let result = await reqGetSearchListInfo(params);
        if (result.code === 200) {
            commit('GETSEARCHLISTINFO', result.data)
        }

    }
};
//计算属性，在项目中是为了简化仓库中的数据
//可以把将来在组件当中需要用的数据简化一下【将来组件获取数据的时候就方便了】
const getters = {
    //当前形参state,当前仓库中的state，并非大仓库中的state
    goodsList(state) {
        //state.searchList.goodsList如果服务器数据回来了，为一个数组
        //假如网络不给力或没有网   state.searchList.goodsList返回的是undefined
        return state.searchList.goodsList || [];
    },
    attrsList(state) {
        return state.searchList.attrsList || [];
    },
    trademarkList(state) {
        return state.searchList.trademarkList || [];
    }
};

export default {
    state,
    mutations,
    actions,
    getters,
}